package cn.edu.sgu.www.mhxysy.service.equipment;

import cn.edu.sgu.www.mhxysy.dto.equipment.EquipmentAttributeDTO;
import cn.edu.sgu.www.mhxysy.entity.equipment.EquipmentAttribute;
import cn.edu.sgu.www.mhxysy.pager.equipment.EquipmentAttributePager;
import cn.edu.sgu.www.mhxysy.vo.except.AttributeVO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * @author 沐雨橙风ιε
 * @version 1.0
 */
public interface EquipmentAttributeService {

	/**
	 * 添加装备属性
	 * @param equipmentAttributeDTO 装备属性信息
	 */
	@Transactional(rollbackFor = Exception.class)
	void insert(EquipmentAttributeDTO equipmentAttributeDTO);

	/**
	 * 通过ID删除装备属性
	 * @param id 装备属性ID
	 */
	void deleteById(String id);

	/**
	 * 通过id修改装备属性
	 * @param equipmentAttributeDTO 装备属性信息
	 */
	@Transactional(rollbackFor = Exception.class)
	void updateById(EquipmentAttributeDTO equipmentAttributeDTO);

	/**
	 * 通过装备ID查询装备属性列表
	 * @param equipmentId 装备ID
	 * @return List<AttributeVO>
	 */
	List<AttributeVO> selectAttributes(String equipmentId);

	/**
	 * 分页查询装备属性列表
	 * @param pager 分页参数
	 * @return Page<EquipmentAttribute>
	 */
	Page<EquipmentAttribute> selectByPage(EquipmentAttributePager pager);
}